Software products may be composed of smaller components, partitioned according to their functionalities. In some instances, software components may be marketed, priced, sold, and delivered separately. For example, the software component may define an application programming interface (API) that provides access to a particular function of the software product. Different software components may be developed and distributed by different parties. For example, one company may manage overall development of a particular software product but include software components developed by third parties in the software product to perform specific functions. Incorporating third party software into the lifecycle of a software product, however, may lead to risks or complications with respect to licensing, support, delivery, production, and other factors. In some instances, third party software may be associated with a complicated network of libraries interlinked through various dependencies.